﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using distrilan;
using System.IO;

public partial class admin_Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //se nella sessione non c'e utente amministratore, redirigo l'utente alla pagina di login
        if (SiteUser.IsLoggedAdmin() == false)
            Server.Transfer("index.aspx");
    }

    /// <summary>
    /// cancello fisicamente il file
    /// </summary>
    /// <param name="tabella"></param>
    /// <param name="ID"></param>
    protected void cancellaFile(object sender, GridViewDeleteEventArgs e)
    {
        GridView v = (GridView)sender;
        //HiddenField hd = (HiddenField)v.Rows[e.RowIndex].Cells[1].Controls[3];
        //bool result = _service.DeleteOggetto(int.Parse(hd.Value));

        String id = "";

        //tento di recuperare il nome del file
        try{
            id = (String)v.Rows[e.RowIndex].Cells[1].Text;
        }
        catch (Exception){
            return;
        }

        //se ho un id di tabella da cancellare allora trovo il nome del file e lo elimino fisicamente da disco
        if (id.Length != 0)
        {
            String query = "SELECT nomeListino FROM listiniDaScaricare WHERE id='" + id + "'";
            String nomeListino = "";
            SqlConnection connection = new SqlConnection(Utility.GetDBConnectionString());
            String pathListino = "";

            //tento di ricavare il nome del file e lo elimino
            try
            {
                connection.Open();
                SqlCommand command = new SqlCommand(query, connection);
                nomeListino = Convert.ToString(command.ExecuteScalar()).Trim();
                pathListino = "../" + ConfigurationManager.AppSettings["dir_listini"].ToString();
                pathListino += "/" + nomeListino;

                String pp = Server.MapPath(pathListino);

                //rimediata la directory precisa elimino il file
                System.IO.File.Delete(Server.MapPath(pathListino));

            }
            catch (Exception ex)
            {
                Utility.WriteLog("ERRORE", "cancellaFile in eliminaListiniAzienda.aspx.cs", ex.Message, "", "");
            }
            finally{
                connection.Close();
            }
        }
    }

    
}
